perm filename RDUP.OLD[MUS,LCS] blob sn#309782 filedate 1977-10-13 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00006 ENDMK
C⊗;

      EXTERNAL FUNCTION GETIN3(ARRAY J,INSR,INBT,INCH,INMX,INDR),
      RDSMP3(ARRAY N,BITS);
 
      ARRAY INF(1536);
      VARIABLE /CNT,/RD,/SCNT,INCH,INSR,INMX,INDR,INBT,INBUF,
      IX,/INC;
 
      FUNCTION PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);  
      BEGIN 
        INBUF←1535-512*INBT ;     
        PRINT "SRATE=",INSR," BITS=",12+INBT*6," NCHNS=",INCH,
        " MAXAMP=",INMX," DUR=",INDR/INSR/INCH;
        CNT←INBUF+1;        INDR←INDR-2;
      END;

      FUNCTION READIN(RD);
      BEGIN 		<DON'T FORGET TO INIT AND SCNT ← 0;
        IF SCNT=0 THEN BEGIN        
          GETIN3(INF,INSR,INBT,INCH,INMX,INDR); <HEADER IS READ INTO ARRAY INF.
          PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);
        END;
        SCNT←SCNT+INC; 
        IF SCNT > INDR THEN  BEGIN <CHECK TO SEE IF SMPL CNT IS EXCEEDED
           RD←0;  RETURN(RD); END;
        IF CNT > INBUF THEN BEGIN
           RDSMP3(INF,INBT);
           CNT←0;  END;
        RD←INF(CNT);
        IF CNT ≠ INT(CNT) THEN BEGIN
          IX ← CNT+1;  
          IF IX > INBUF THEN EXIT; < CAN'T INTERPOLATE AT END OF BUF.
            RD←RD+(INF(IX)-RD)*(CNT-INT(CNT));
          END;
        CNT←CNT+INC; <UPDATE THE COUNTER
<	PRINT RD,CNT;
        RETURN(RD); END; 

	OUTFILE←"OU.SND";
      INSTRUMENT READA;
<IF P1 > .5 THEN BEGIN  IF SCNT > 3620 THEN BEGIN PRINT RD;
<IF RD≠0 THEN PRINT CNT; IF RD ≠0 THEN PRINT SCNT;END;END;
      OUTA←OUTA+P4*READIN(RD);
      END;
      SETMAG;1 12
      PLAY;
      READA  0   .5   0  .7   .00025   300  ;
      INC← 1/1.28;
      SCNT←0; INFILE←"U"; 
      READA .5   .37  0  1.5  .00025   300  ; PRINT "AGAIN  ";
      INC←INC*D/C;
      SCNT←0; INFILE←"U"; 
      READA 1    .38  0  1.5  .00025   300  ; PRINT "AGAIN  ";
      INC←INC*E/D;
      SCNT←0; INFILE←"U"; 
      READA 1.5  .5   0  1.   .00025   300  ; PRINT "AGAIN  ";
      INC←INC*C/E;
      SCNT←0; INFILE←"U"; 
      FINISH;